package cn.ddiancan.xddcloud.psc.flow.engine.scheduling;

import java.util.Date;

import cn.ddiancan.xddcloud.psc.flow.context.XddcloudContext;
import cn.ddiancan.xddcloud.psc.flow.entity.XddTask;

/**
 * 任务提醒接口
 * @since 1.0
 */
public interface TaskReminder {

    /**
     * 提醒操作
     *
     * @param context     流程引擎上下文
     * @param instanceId  流程实例ID
     * @param currentTask 当前待处理任务
     * @return 返回下次提醒时间，如果返回 null 当前任务将不再提醒，非 null 会更新下次提醒日期
     */
    Date remind(XddcloudContext context, Long instanceId, XddTask currentTask);
}
